Extension point resources
In component org.nuxeo.theme.services.ThemeService
Documentation
Extension Point for registering theme resources.
1) Local resources
The XML syntax is:
<resource name="resourcename.xxx">
<path>path/to/resource.xxx</path>
<require>other-resource.xxx</require>
</resource>
where: - 'name' is the name of the Resource. Supported extensions are '.js', '.css' and '.json'. - 'path' is the path of the Resource to be loaded by the class loader. - 'require' is the name of another Resource that is required. (Optional) Several resources can be required:
other-resource1.xxx other-resource2.xxx
2) Remote resources (theme banks)
Resources can be registered into theme banks to be accessed remotely.
The XML syntax on the server side is:
<import bank="bank name" collection="collection name" src="bank-resources.zip"/>
The zip archive is deployed into the bank. The archive's structure is:
style/ image/ preset/ preset/ preset/border/ preset/font/ preset/background/ preset/color/ ...
Contribution Descriptors
- Class: org.nuxeo.theme.resources.ResourceType
- Class: org.nuxeo.theme.resources.BankImport
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="video-js.css"> <path>css/video-js.css</path> </resource> <resource name="video-js.nx.css"> <path>css/video-js.nx.css</path> <require>video-js.css</require> </resource> <resource name="videojs.thumbnails.css"> <path>css/videojs.thumbnails.css</path> </resource> <resource name="video-js.js"> <path>scripts/video.js</path> </resource> <resource name="video-player-util.js"> <path>scripts/video-player-util.js</path> <require>video-js.js</require> </resource> <resource name="videojs.thumbnails.js"> <path>scripts/videojs.thumbnails.js</path> <require>video-js.js</require> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="audio-player.js"> <path>scripts/wpaudioplayer/audio-player.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="automation.js"> <path>scripts/automation.js</path> </resource> <resource name="jquery.jsPlumb-1.5.1-min.js"> <path>scripts/jquery.jsPlumb-1.5.1-min.js</path> </resource> <resource name="documentRoutingGraph.js"> <path>scripts/documentRoutingGraph.js</path> <require>jquery.jsPlumb-1.5.1-min.js</require> <require>automation.js</require> </resource> <resource name="documentRoutingGraph.css"> <path>css/documentRoutingGraph.css</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="collections2Formatter.js"> <path>scripts/collections2Formatter.js</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <!-- Prototype 1.6.1 --> <!-- when changing prototype version, please make sure fix for NXP-2586, NXP-3782 and for NXP-3600 are applied --> <resource name="prototype.js"> <path>nxthemes/html/scripts/prototype.js</path> </resource> <!-- JQuery 1.8.3 --> <!-- Needed by opensocial gadgets, not needed by JSF pages anymore (so not included by default since JSF2 migration, see NXP-13805) --> <resource name="jquery.js"> <path>nxthemes/html/scripts/jquery.js</path> </resource> <!-- Keyboard shortcuts http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js --> <resource name="shortcut.js"> <path>nxthemes/html/scripts/shortcut.js</path> </resource> <!-- ObjTree 0.24 (http://www.kawa.net/works/js/xml/objtree-e.html) --> <resource name="objtree.js"> <path>nxthemes/html/scripts/objtree.js</path> </resource> <!-- Scriptaculous v1.8.1 --> <resource name="builder.js"> <path>nxthemes/html/scripts/scriptaculous/builder.js</path> <require>prototype.js</require> </resource> <resource name="effects.js"> <path>nxthemes/html/scripts/scriptaculous/effects.js</path> <require>prototype.js</require> </resource> <resource name="controls.js"> <path>nxthemes/html/scripts/scriptaculous/controls.js</path> <require>effects.js</require> <require>prototype.js</require> </resource> <resource name="dragdrop.js"> <path>nxthemes/html/scripts/scriptaculous/dragdrop.js</path> <require>effects.js</require> <require>prototype.js</require> </resource> <resource name="slider.js"> <path>nxthemes/html/scripts/scriptaculous/slider.js</path> <require>prototype.js</require> </resource> <resource name="sound.js"> <path>nxthemes/html/scripts/scriptaculous/sound.js</path> <require>prototype.js</require> </resource> <!-- Seam 1.0.1.GA --> <resource name="seam-remote.js"> <path>nxthemes/html/scripts/seam-remote.js</path> </resource> <resource name="nxthemes.css"> <path>nxthemes/html/styles/nxthemes.css</path> </resource> <resource name="nxthemes-widgets.css"> <path>nxthemes/html/styles/nxthemes-widgets.css</path> </resource> <resource name="nxthemes-jsf.css"> <path>nxthemes/html/styles/nxthemes-jsf.css</path> </resource> <!-- WYSIWYG JavaScript framework 0.1 http://github.com/37signals/wysihat/tree/master --> <resource name="wysihat.js"> <path>nxthemes/html/scripts/wysihat.js</path> <require>prototype.js</require> </resource> <!-- nxthemes lib --> <resource name="nxthemes.js"> <path>nxthemes/html/scripts/nxthemes/nxthemes.js</path> <require>prototype.js</require> <require>nxthemes.css</require> </resource> <resource name="nxthemes-widgets.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-widgets.js </path> <require>nxthemes.js</require> <require>nxthemes-widgets.css</require> </resource> <resource name="nxthemes-effects.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-effects.js </path> <require>nxthemes.js</require> </resource> <resource name="nxthemes-controllers.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-controllers.js </path> <require>nxthemes-effects.js</require> </resource> <resource name="nxthemes-storages.js"> <path> nxthemes/html/scripts/nxthemes/nxthemes-storages.js </path> <require>nxthemes.js</require> </resource> <!-- AutoSuggest lib --> <resource name="autosuggest.css"> <path>nxthemes/html/styles/autosuggest.css</path> </resource> <resource name="bsn.AutoSuggest_2.1.3.js"> <path>nxthemes/html/scripts/bsn.AutoSuggest_2.1.3.js</path> </resource> <!-- JQuery UI Slider 1.9.2 --> <resource name="jquery.ui.slider.js"> <path>nxthemes/html/scripts/jquery-ui-1.9.2.slider.js</path> </resource> <!-- JQuery UI CSS Slider 1.9.2 --> <resource name="jquery.ui.slider.css"> <path>nxthemes/html/styles/jquery-ui-1.9.2.slider.min.css</path> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="select2.css"> <path>css/select2.css</path> </resource> <resource name="select2.js"> <path>scripts/select2/select2.js</path> </resource> <resource name="nuxeo-select2.js"> <path>scripts/select2/nuxeo-select2.js</path> <require>select2.js</require> </resource> </extension>
-
<extension point="resources" target="org.nuxeo.theme.services.ThemeService"> <resource name="static-styles.css"> <path>css/static-styles.css</path> </resource> <resource name="screen.css"> <path>css/screen.css</path> </resource> <resource name="foldable-box.js"> <path>scripts/foldable-box.js</path> <require>effects.js</require> </resource> <resource name="window.js"> <path>scripts/window.js</path> </resource> <resource name="window_effects.js"> <path>scripts/window_effects.js</path> </resource> <resource name="waitdlg.js"> <path>waitdialog/waitdlg.js</path> </resource> <resource name="utils.js"> <path>scripts/utils.js</path> </resource> <resource name="tableSelections.js"> <path>scripts/tableSelections.js</path> </resource> <resource name="contextmenu.js"> <path>scripts/contextmenu.js</path> </resource> <resource name="DragAndDrop.js"> <path>scripts/DragAndDrop.js</path> </resource> <resource name="hideableAdminMessage.js"> <path>scripts/hideableAdminMessage.js</path> </resource> <!-- jquery cookie plugin --> <resource name="jquery.tools.cookie.js"> <path>scripts/jquery/cookie.js</path> </resource> <!-- Fancybox --> <resource name="jquery.fancybox.js"> <!-- useful for debug --> <!-- <path>scripts/jquery/jquery.fancybox.js</path> <shrinkable>false</shrinkable> --> <path>scripts/jquery/jquery.fancybox.pack.js</path> </resource> <resource name="jquery.fancybox.style.css"> <path>css/jquery.fancybox.css</path> </resource> <resource name="fancybox-popup-utils.js"> <path>scripts/fancybox-popup-utils.js</path> </resource> <!-- Hotkeys (e.g. used to focus the search box using '/') --> <resource name="jquery.hotkeys.js"> <path>scripts/jquery/jquery.hotkeys.js</path> </resource> <!-- Helpers for focus on first input of a form --> <resource name="jquery.tools.focusfirst.js"> <path>scripts/jquery/jquery.tools.focusfirst.js</path> </resource> <!-- Workaround for jQuery and Sarissa library conflict on IE --> <resource name="sarissa-ie-workaround.js"> <path>scripts/sarissa-ie-workaround.js</path> </resource> <!-- Mustache --> <resource name="mustache.js"> <path>scripts/mustache/mustache.js</path> </resource> <!-- Simple Access Key helper --> <resource name="accessKey.js"> <path>scripts/accessKey.js</path> </resource> <!-- Moment.js --> <resource name="moment.js"> <path>scripts/moment.min-1.5.0nx.js</path> </resource> <!-- jquery-ui resources: order plugins according to their dependencies. --> <resource name="jquery.ui.core.js"> <path>scripts/jquery/jquery.ui.core.js</path> </resource> <resource name="jquery.ui.widget.js"> <path>scripts/jquery/jquery.ui.widget.js</path> </resource> <resource name="jquery.ui.mouse.js"> <path>scripts/jquery/jquery.ui.mouse.js</path> </resource> <resource name="jquery.ui.sortable.js"> <path>scripts/jquery/jquery.ui.sortable.js</path> <require>jquery.ui.core.js</require> <require>jquery.ui.widget.js</require> <require>jquery.ui.mouse.js</require> </resource> <!-- Double click shield --> <resource name="jquery.nuxeo.doubleclickshield.js"> <path>scripts/jquery.nuxeo.doubleclickshield.js</path> </resource> <!-- jQuery Ambiance --> <resource name="jquery.ambiance.js"> <path>scripts/jquery/jquery.ambiance.js</path> </resource> <resource name="jquery.ambiance.css"> <path>css/jquery.ambiance.css</path> </resource> <resource name="jquery.nuxeo.dropdown.js"> <path>scripts/jquery/jquery.nuxeo.dropdown.js</path> </resource> <resource name="jquery.tipsy.js"> <path>scripts/jquery/jquery.tipsy.js</path> </resource> <resource name="tipsy.css"> <path>css/tipsy.css</path> </resource> <resource name="jquery.nuxeo.tipsy.js"> <path>scripts/jquery.nuxeo.tipsy.js</path> <require>jquery.tipsy.js</require> </resource> <resource name="jquery.magnific-popup.js"> <path>scripts/jquery/jquery.magnific-popup.js</path> </resource> <resource name="magnific-popup.css"> <path>css/magnific-popup.css</path> </resource> <resource name="nuxeo-lightbox.js"> <path>scripts/nuxeo-lightbox.js</path> </resource> <resource name="jquery.nuxeo.cv-lightbox.js"> <path>scripts/jquery.nuxeo.cv-lightbox.js</path> <require>jquery.magnific-popup.js</require> <require>nuxeo-lightbox.js</require> </resource> <resource name="nuxeo-documents-import.js"> <path>scripts/nuxeo-documents-import.js</path> </resource> <resource name="fixmultipartajax.js"> <path>scripts/fixmultipartajax.js</path> </resource> </extension>